Added #ifdef CAMERA_CONTROL_USE_PS3EYE_DRIVER#179
Conversation
… used when configured
|
What does this do? You're already in an What problem were you encountering? |
|
CL also provides a standalone ps3eye driver ( without an SDK), which is configured via the registry settings which are set in the lines above the ifdef. So there are actually three options: clsdk, cl driver via registry and pseye. Also I think the cmakelists will never set CAMERA_CONTROL_USE_PSEYE_DRIVER on Windows atm, as it stills assumes it's osx only ( have to check this tomorrow ) |
|
Oh, I never heard about the CL driver that requires the registry. In fact, when I made psmoveapi work with PS3EYEDriver on Windows, I encountered the need for registry settings which didn't exist on my system, so I created a small .reg file that inserted those settings. However, I then realized that these registry settings were simply performing the same function as an .ini file was performing in Linux, so I changed the Windows implementation to use the ini file too. It's a surprise to me that these registry settings exist for another reason. Are you saying that modifying these registry entries is the only way to modify the camera settings when using this obscure driver? If so, then I'll have to rethink a lot of my changes to the psmoveapi to make it work better in Windows (including supporting building in MSVC2013, see #163 which requires some work to address Thomas' comments and rebase it on the latest master). I don't want people using the PS3EYEDriver to have to create these registry entries which are essentially useless to them, so I guess we'll have to make 3 separate paths. |
|
Compiling the project failed stating that 'CameraControl' has no member called 'eye'. Link to the driver: https://codelaboratories.com/products/eye/driver/ |
|
Now that I see the site, I remember that there were 2 different drivers. I was not aware that one required registry settings to control it and the other did not, nor that there were two different code paths in the psmoveapi for controlling them. For now, I guess this patch can work around the issue. That's up to @thp. In the future, I think we really should get the runtime camera detection working. Do you happen to know how to distinguish CL Eye driver vs CL Eye SDK vs PS3EYEDriver (vs kernel driver, vs iSight, vs other webcam) at runtime? |
Added #ifdef CAMERA_CONTROL_USE_PS3EYE_DRIVER
|
Merged, thanks. Agree with @cboulay that we should think about which camera capture options we have and which ones we still support. If we can make all these decisions at runtime, that'd be even better, that would remove some compile-time options (we probably still need the CL Eye SDK compile-time option, or we simply remove it). |
|
I've never used it, but I think the CL Eye SDK has the advantage that it enables the PSEye to be used as a regular webcam. Is that correct? If so, the CL Eye driver option will probably still be desirable to some users. |
|
The CL Driver also enables the PSEye as Webcam. |
so cc->eye will only be used when configured